1. Technical Field
The present invention relates generally to computer systems and computer viruses associated therewith. Specifically, the present invention relates to a method and system for allowing computer applications to directly access various features of a virus scanning engine without the need for user intervention.
2. Discussion of the Related Art
The generation and spread of computer viruses is a major problem in modern day computing. Generally, a computer virus is a program capable of attaching to other programs or sets of computer instructions, replicating itself, and performing unsolicited or malicious actions on a computer system utilizing the infected program. Computer viruses are designed to spread by attaching to programs on floppy disks or other computer-readable media, or to data transmissions between computer users, and are designed to inflict damage while remaining undetected. The damage done by computer viruses may range from mild interference with a program, such as the display of an unwanted message in a dialog box, to the complete destruction of data on a user's hard drive. It is estimated that new viruses are created at a rate of over one hundred per month.
A variety of methods have been developed to detect and destroy computer viruses. As is known in the art, one common method of detecting viruses is to use a virus scanning engine to scan for known computer viruses in, for example, executable files, application macro files, or disk boot sectors. Generally, computer viruses include identifiable binary sequences that may be referred to as "virus signatures." Upon the detection of a virus signature by the virus scanning engine, a virus disinfection program may then be used to extract the harmful information from the infected code, thereby disinfecting that code. Common virus scanning engines allow, for example, boot-sector scanning upon system bootup or on-demand scanning of programs or files at the explicit request of the user.
Historically, a user running a computer application such as a word processor has had to perform a series of cumbersome procedures to have a particular file, to be accessed by the application in use, scanned for viruses. In particular, the user has heretofore been required to call up the file to be accessed, call up a virus scanning engine, execute the virus scanning engine to scan the subject file, and then import the file, once scanned, into the word processor. This process is, of course, inefficient and results in time unnecessarily wasted.